package com.kun.entity;

import com.kun.util.PaginationUtil;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class BookExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    protected PaginationUtil pagination;

    public BookExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setPagination(PaginationUtil pagination) {
        this.pagination=pagination;
    }

    public PaginationUtil getPagination() {
        return pagination;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andBookidIsNull() {
            addCriterion("bookId is null");
            return (Criteria) this;
        }

        public Criteria andBookidIsNotNull() {
            addCriterion("bookId is not null");
            return (Criteria) this;
        }

        public Criteria andBookidEqualTo(Integer value) {
            addCriterion("bookId =", value, "bookid");
            return (Criteria) this;
        }

        public Criteria andBookidNotEqualTo(Integer value) {
            addCriterion("bookId <>", value, "bookid");
            return (Criteria) this;
        }

        public Criteria andBookidGreaterThan(Integer value) {
            addCriterion("bookId >", value, "bookid");
            return (Criteria) this;
        }

        public Criteria andBookidGreaterThanOrEqualTo(Integer value) {
            addCriterion("bookId >=", value, "bookid");
            return (Criteria) this;
        }

        public Criteria andBookidLessThan(Integer value) {
            addCriterion("bookId <", value, "bookid");
            return (Criteria) this;
        }

        public Criteria andBookidLessThanOrEqualTo(Integer value) {
            addCriterion("bookId <=", value, "bookid");
            return (Criteria) this;
        }

        public Criteria andBookidIn(List<Integer> values) {
            addCriterion("bookId in", values, "bookid");
            return (Criteria) this;
        }

        public Criteria andBookidNotIn(List<Integer> values) {
            addCriterion("bookId not in", values, "bookid");
            return (Criteria) this;
        }

        public Criteria andBookidBetween(Integer value1, Integer value2) {
            addCriterion("bookId between", value1, value2, "bookid");
            return (Criteria) this;
        }

        public Criteria andBookidNotBetween(Integer value1, Integer value2) {
            addCriterion("bookId not between", value1, value2, "bookid");
            return (Criteria) this;
        }

        public Criteria andTypeidIsNull() {
            addCriterion("typeId is null");
            return (Criteria) this;
        }

        public Criteria andTypeidIsNotNull() {
            addCriterion("typeId is not null");
            return (Criteria) this;
        }

        public Criteria andTypeidEqualTo(Integer value) {
            addCriterion("typeId =", value, "typeid");
            return (Criteria) this;
        }

        public Criteria andTypeidNotEqualTo(Integer value) {
            addCriterion("typeId <>", value, "typeid");
            return (Criteria) this;
        }

        public Criteria andTypeidGreaterThan(Integer value) {
            addCriterion("typeId >", value, "typeid");
            return (Criteria) this;
        }

        public Criteria andTypeidGreaterThanOrEqualTo(Integer value) {
            addCriterion("typeId >=", value, "typeid");
            return (Criteria) this;
        }

        public Criteria andTypeidLessThan(Integer value) {
            addCriterion("typeId <", value, "typeid");
            return (Criteria) this;
        }

        public Criteria andTypeidLessThanOrEqualTo(Integer value) {
            addCriterion("typeId <=", value, "typeid");
            return (Criteria) this;
        }

        public Criteria andTypeidIn(List<Integer> values) {
            addCriterion("typeId in", values, "typeid");
            return (Criteria) this;
        }

        public Criteria andTypeidNotIn(List<Integer> values) {
            addCriterion("typeId not in", values, "typeid");
            return (Criteria) this;
        }

        public Criteria andTypeidBetween(Integer value1, Integer value2) {
            addCriterion("typeId between", value1, value2, "typeid");
            return (Criteria) this;
        }

        public Criteria andTypeidNotBetween(Integer value1, Integer value2) {
            addCriterion("typeId not between", value1, value2, "typeid");
            return (Criteria) this;
        }

        public Criteria andBooknumberIsNull() {
            addCriterion("bookNumber is null");
            return (Criteria) this;
        }

        public Criteria andBooknumberIsNotNull() {
            addCriterion("bookNumber is not null");
            return (Criteria) this;
        }

        public Criteria andBooknumberEqualTo(String value) {
            addCriterion("bookNumber =", value, "booknumber");
            return (Criteria) this;
        }

        public Criteria andBooknumberNotEqualTo(String value) {
            addCriterion("bookNumber <>", value, "booknumber");
            return (Criteria) this;
        }

        public Criteria andBooknumberGreaterThan(String value) {
            addCriterion("bookNumber >", value, "booknumber");
            return (Criteria) this;
        }

        public Criteria andBooknumberGreaterThanOrEqualTo(String value) {
            addCriterion("bookNumber >=", value, "booknumber");
            return (Criteria) this;
        }

        public Criteria andBooknumberLessThan(String value) {
            addCriterion("bookNumber <", value, "booknumber");
            return (Criteria) this;
        }

        public Criteria andBooknumberLessThanOrEqualTo(String value) {
            addCriterion("bookNumber <=", value, "booknumber");
            return (Criteria) this;
        }

        public Criteria andBooknumberLike(String value) {
            addCriterion("bookNumber like", value, "booknumber");
            return (Criteria) this;
        }

        public Criteria andBooknumberNotLike(String value) {
            addCriterion("bookNumber not like", value, "booknumber");
            return (Criteria) this;
        }

        public Criteria andBooknumberIn(List<String> values) {
            addCriterion("bookNumber in", values, "booknumber");
            return (Criteria) this;
        }

        public Criteria andBooknumberNotIn(List<String> values) {
            addCriterion("bookNumber not in", values, "booknumber");
            return (Criteria) this;
        }

        public Criteria andBooknumberBetween(String value1, String value2) {
            addCriterion("bookNumber between", value1, value2, "booknumber");
            return (Criteria) this;
        }

        public Criteria andBooknumberNotBetween(String value1, String value2) {
            addCriterion("bookNumber not between", value1, value2, "booknumber");
            return (Criteria) this;
        }

        public Criteria andBooknameIsNull() {
            addCriterion("bookName is null");
            return (Criteria) this;
        }

        public Criteria andBooknameIsNotNull() {
            addCriterion("bookName is not null");
            return (Criteria) this;
        }

        public Criteria andBooknameEqualTo(String value) {
            addCriterion("bookName =", value, "bookname");
            return (Criteria) this;
        }

        public Criteria andBooknameNotEqualTo(String value) {
            addCriterion("bookName <>", value, "bookname");
            return (Criteria) this;
        }

        public Criteria andBooknameGreaterThan(String value) {
            addCriterion("bookName >", value, "bookname");
            return (Criteria) this;
        }

        public Criteria andBooknameGreaterThanOrEqualTo(String value) {
            addCriterion("bookName >=", value, "bookname");
            return (Criteria) this;
        }

        public Criteria andBooknameLessThan(String value) {
            addCriterion("bookName <", value, "bookname");
            return (Criteria) this;
        }

        public Criteria andBooknameLessThanOrEqualTo(String value) {
            addCriterion("bookName <=", value, "bookname");
            return (Criteria) this;
        }

        public Criteria andBooknameLike(String value) {
            addCriterion("bookName like", value, "bookname");
            return (Criteria) this;
        }

        public Criteria andBooknameNotLike(String value) {
            addCriterion("bookName not like", value, "bookname");
            return (Criteria) this;
        }

        public Criteria andBooknameIn(List<String> values) {
            addCriterion("bookName in", values, "bookname");
            return (Criteria) this;
        }

        public Criteria andBooknameNotIn(List<String> values) {
            addCriterion("bookName not in", values, "bookname");
            return (Criteria) this;
        }

        public Criteria andBooknameBetween(String value1, String value2) {
            addCriterion("bookName between", value1, value2, "bookname");
            return (Criteria) this;
        }

        public Criteria andBooknameNotBetween(String value1, String value2) {
            addCriterion("bookName not between", value1, value2, "bookname");
            return (Criteria) this;
        }

        public Criteria andBookauthorIsNull() {
            addCriterion("bookAuthor is null");
            return (Criteria) this;
        }

        public Criteria andBookauthorIsNotNull() {
            addCriterion("bookAuthor is not null");
            return (Criteria) this;
        }

        public Criteria andBookauthorEqualTo(String value) {
            addCriterion("bookAuthor =", value, "bookauthor");
            return (Criteria) this;
        }

        public Criteria andBookauthorNotEqualTo(String value) {
            addCriterion("bookAuthor <>", value, "bookauthor");
            return (Criteria) this;
        }

        public Criteria andBookauthorGreaterThan(String value) {
            addCriterion("bookAuthor >", value, "bookauthor");
            return (Criteria) this;
        }

        public Criteria andBookauthorGreaterThanOrEqualTo(String value) {
            addCriterion("bookAuthor >=", value, "bookauthor");
            return (Criteria) this;
        }

        public Criteria andBookauthorLessThan(String value) {
            addCriterion("bookAuthor <", value, "bookauthor");
            return (Criteria) this;
        }

        public Criteria andBookauthorLessThanOrEqualTo(String value) {
            addCriterion("bookAuthor <=", value, "bookauthor");
            return (Criteria) this;
        }

        public Criteria andBookauthorLike(String value) {
            addCriterion("bookAuthor like", value, "bookauthor");
            return (Criteria) this;
        }

        //新增andTypeidLike
        public Criteria andTypeidLike(String value) {
            addCriterion("typeId like", value, "typeid");
            return (Criteria) this;
        }
        
        public Criteria andBookauthorNotLike(String value) {
            addCriterion("bookAuthor not like", value, "bookauthor");
            return (Criteria) this;
        }

        public Criteria andBookauthorIn(List<String> values) {
            addCriterion("bookAuthor in", values, "bookauthor");
            return (Criteria) this;
        }

        public Criteria andBookauthorNotIn(List<String> values) {
            addCriterion("bookAuthor not in", values, "bookauthor");
            return (Criteria) this;
        }

        public Criteria andBookauthorBetween(String value1, String value2) {
            addCriterion("bookAuthor between", value1, value2, "bookauthor");
            return (Criteria) this;
        }

        public Criteria andBookauthorNotBetween(String value1, String value2) {
            addCriterion("bookAuthor not between", value1, value2, "bookauthor");
            return (Criteria) this;
        }

        public Criteria andBookpressIsNull() {
            addCriterion("bookPress is null");
            return (Criteria) this;
        }

        public Criteria andBookpressIsNotNull() {
            addCriterion("bookPress is not null");
            return (Criteria) this;
        }

        public Criteria andBookpressEqualTo(String value) {
            addCriterion("bookPress =", value, "bookpress");
            return (Criteria) this;
        }

        public Criteria andBookpressNotEqualTo(String value) {
            addCriterion("bookPress <>", value, "bookpress");
            return (Criteria) this;
        }

        public Criteria andBookpressGreaterThan(String value) {
            addCriterion("bookPress >", value, "bookpress");
            return (Criteria) this;
        }

        public Criteria andBookpressGreaterThanOrEqualTo(String value) {
            addCriterion("bookPress >=", value, "bookpress");
            return (Criteria) this;
        }

        public Criteria andBookpressLessThan(String value) {
            addCriterion("bookPress <", value, "bookpress");
            return (Criteria) this;
        }

        public Criteria andBookpressLessThanOrEqualTo(String value) {
            addCriterion("bookPress <=", value, "bookpress");
            return (Criteria) this;
        }

        public Criteria andBookpressLike(String value) {
            addCriterion("bookPress like", value, "bookpress");
            return (Criteria) this;
        }

        public Criteria andBookpressNotLike(String value) {
            addCriterion("bookPress not like", value, "bookpress");
            return (Criteria) this;
        }

        public Criteria andBookpressIn(List<String> values) {
            addCriterion("bookPress in", values, "bookpress");
            return (Criteria) this;
        }

        public Criteria andBookpressNotIn(List<String> values) {
            addCriterion("bookPress not in", values, "bookpress");
            return (Criteria) this;
        }

        public Criteria andBookpressBetween(String value1, String value2) {
            addCriterion("bookPress between", value1, value2, "bookpress");
            return (Criteria) this;
        }

        public Criteria andBookpressNotBetween(String value1, String value2) {
            addCriterion("bookPress not between", value1, value2, "bookpress");
            return (Criteria) this;
        }

        public Criteria andBookpictureIsNull() {
            addCriterion("bookPicture is null");
            return (Criteria) this;
        }

        public Criteria andBookpictureIsNotNull() {
            addCriterion("bookPicture is not null");
            return (Criteria) this;
        }

        public Criteria andBookpictureEqualTo(String value) {
            addCriterion("bookPicture =", value, "bookpicture");
            return (Criteria) this;
        }

        public Criteria andBookpictureNotEqualTo(String value) {
            addCriterion("bookPicture <>", value, "bookpicture");
            return (Criteria) this;
        }

        public Criteria andBookpictureGreaterThan(String value) {
            addCriterion("bookPicture >", value, "bookpicture");
            return (Criteria) this;
        }

        public Criteria andBookpictureGreaterThanOrEqualTo(String value) {
            addCriterion("bookPicture >=", value, "bookpicture");
            return (Criteria) this;
        }

        public Criteria andBookpictureLessThan(String value) {
            addCriterion("bookPicture <", value, "bookpicture");
            return (Criteria) this;
        }

        public Criteria andBookpictureLessThanOrEqualTo(String value) {
            addCriterion("bookPicture <=", value, "bookpicture");
            return (Criteria) this;
        }

        public Criteria andBookpictureLike(String value) {
            addCriterion("bookPicture like", value, "bookpicture");
            return (Criteria) this;
        }

        public Criteria andBookpictureNotLike(String value) {
            addCriterion("bookPicture not like", value, "bookpicture");
            return (Criteria) this;
        }

        public Criteria andBookpictureIn(List<String> values) {
            addCriterion("bookPicture in", values, "bookpicture");
            return (Criteria) this;
        }

        public Criteria andBookpictureNotIn(List<String> values) {
            addCriterion("bookPicture not in", values, "bookpicture");
            return (Criteria) this;
        }

        public Criteria andBookpictureBetween(String value1, String value2) {
            addCriterion("bookPicture between", value1, value2, "bookpicture");
            return (Criteria) this;
        }

        public Criteria andBookpictureNotBetween(String value1, String value2) {
            addCriterion("bookPicture not between", value1, value2, "bookpicture");
            return (Criteria) this;
        }

        public Criteria andBookamountIsNull() {
            addCriterion("bookAmount is null");
            return (Criteria) this;
        }

        public Criteria andBookamountIsNotNull() {
            addCriterion("bookAmount is not null");
            return (Criteria) this;
        }

        public Criteria andBookamountEqualTo(Integer value) {
            addCriterion("bookAmount =", value, "bookamount");
            return (Criteria) this;
        }

        public Criteria andBookamountNotEqualTo(Integer value) {
            addCriterion("bookAmount <>", value, "bookamount");
            return (Criteria) this;
        }

        public Criteria andBookamountGreaterThan(Integer value) {
            addCriterion("bookAmount >", value, "bookamount");
            return (Criteria) this;
        }

        public Criteria andBookamountGreaterThanOrEqualTo(Integer value) {
            addCriterion("bookAmount >=", value, "bookamount");
            return (Criteria) this;
        }

        public Criteria andBookamountLessThan(Integer value) {
            addCriterion("bookAmount <", value, "bookamount");
            return (Criteria) this;
        }

        public Criteria andBookamountLessThanOrEqualTo(Integer value) {
            addCriterion("bookAmount <=", value, "bookamount");
            return (Criteria) this;
        }

        public Criteria andBookamountIn(List<Integer> values) {
            addCriterion("bookAmount in", values, "bookamount");
            return (Criteria) this;
        }

        public Criteria andBookamountNotIn(List<Integer> values) {
            addCriterion("bookAmount not in", values, "bookamount");
            return (Criteria) this;
        }

        public Criteria andBookamountBetween(Integer value1, Integer value2) {
            addCriterion("bookAmount between", value1, value2, "bookamount");
            return (Criteria) this;
        }

        public Criteria andBookamountNotBetween(Integer value1, Integer value2) {
            addCriterion("bookAmount not between", value1, value2, "bookamount");
            return (Criteria) this;
        }

        public Criteria andBookshelvetimeIsNull() {
            addCriterion("bookShelveTime is null");
            return (Criteria) this;
        }

        public Criteria andBookshelvetimeIsNotNull() {
            addCriterion("bookShelveTime is not null");
            return (Criteria) this;
        }

        public Criteria andBookshelvetimeEqualTo(Date value) {
            addCriterion("bookShelveTime =", value, "bookshelvetime");
            return (Criteria) this;
        }

        public Criteria andBookshelvetimeNotEqualTo(Date value) {
            addCriterion("bookShelveTime <>", value, "bookshelvetime");
            return (Criteria) this;
        }

        public Criteria andBookshelvetimeGreaterThan(Date value) {
            addCriterion("bookShelveTime >", value, "bookshelvetime");
            return (Criteria) this;
        }

        public Criteria andBookshelvetimeGreaterThanOrEqualTo(Date value) {
            addCriterion("bookShelveTime >=", value, "bookshelvetime");
            return (Criteria) this;
        }

        public Criteria andBookshelvetimeLessThan(Date value) {
            addCriterion("bookShelveTime <", value, "bookshelvetime");
            return (Criteria) this;
        }

        public Criteria andBookshelvetimeLessThanOrEqualTo(Date value) {
            addCriterion("bookShelveTime <=", value, "bookshelvetime");
            return (Criteria) this;
        }

        public Criteria andBookshelvetimeIn(List<Date> values) {
            addCriterion("bookShelveTime in", values, "bookshelvetime");
            return (Criteria) this;
        }

        public Criteria andBookshelvetimeNotIn(List<Date> values) {
            addCriterion("bookShelveTime not in", values, "bookshelvetime");
            return (Criteria) this;
        }

        public Criteria andBookshelvetimeBetween(Date value1, Date value2) {
            addCriterion("bookShelveTime between", value1, value2, "bookshelvetime");
            return (Criteria) this;
        }

        public Criteria andBookshelvetimeNotBetween(Date value1, Date value2) {
            addCriterion("bookShelveTime not between", value1, value2, "bookshelvetime");
            return (Criteria) this;
        }

        public Criteria andBookremarkIsNull() {
            addCriterion("bookRemark is null");
            return (Criteria) this;
        }

        public Criteria andBookremarkIsNotNull() {
            addCriterion("bookRemark is not null");
            return (Criteria) this;
        }

        public Criteria andBookremarkEqualTo(String value) {
            addCriterion("bookRemark =", value, "bookremark");
            return (Criteria) this;
        }

        public Criteria andBookremarkNotEqualTo(String value) {
            addCriterion("bookRemark <>", value, "bookremark");
            return (Criteria) this;
        }

        public Criteria andBookremarkGreaterThan(String value) {
            addCriterion("bookRemark >", value, "bookremark");
            return (Criteria) this;
        }

        public Criteria andBookremarkGreaterThanOrEqualTo(String value) {
            addCriterion("bookRemark >=", value, "bookremark");
            return (Criteria) this;
        }

        public Criteria andBookremarkLessThan(String value) {
            addCriterion("bookRemark <", value, "bookremark");
            return (Criteria) this;
        }

        public Criteria andBookremarkLessThanOrEqualTo(String value) {
            addCriterion("bookRemark <=", value, "bookremark");
            return (Criteria) this;
        }

        public Criteria andBookremarkLike(String value) {
            addCriterion("bookRemark like", value, "bookremark");
            return (Criteria) this;
        }

        public Criteria andBookremarkNotLike(String value) {
            addCriterion("bookRemark not like", value, "bookremark");
            return (Criteria) this;
        }

        public Criteria andBookremarkIn(List<String> values) {
            addCriterion("bookRemark in", values, "bookremark");
            return (Criteria) this;
        }

        public Criteria andBookremarkNotIn(List<String> values) {
            addCriterion("bookRemark not in", values, "bookremark");
            return (Criteria) this;
        }

        public Criteria andBookremarkBetween(String value1, String value2) {
            addCriterion("bookRemark between", value1, value2, "bookremark");
            return (Criteria) this;
        }

        public Criteria andBookremarkNotBetween(String value1, String value2) {
            addCriterion("bookRemark not between", value1, value2, "bookremark");
            return (Criteria) this;
        }

        public Criteria andBookborrowIsNull() {
            addCriterion("bookBorrow is null");
            return (Criteria) this;
        }

        public Criteria andBookborrowIsNotNull() {
            addCriterion("bookBorrow is not null");
            return (Criteria) this;
        }

        public Criteria andBookborrowEqualTo(Integer value) {
            addCriterion("bookBorrow =", value, "bookborrow");
            return (Criteria) this;
        }

        public Criteria andBookborrowNotEqualTo(Integer value) {
            addCriterion("bookBorrow <>", value, "bookborrow");
            return (Criteria) this;
        }

        public Criteria andBookborrowGreaterThan(Integer value) {
            addCriterion("bookBorrow >", value, "bookborrow");
            return (Criteria) this;
        }

        public Criteria andBookborrowGreaterThanOrEqualTo(Integer value) {
            addCriterion("bookBorrow >=", value, "bookborrow");
            return (Criteria) this;
        }

        public Criteria andBookborrowLessThan(Integer value) {
            addCriterion("bookBorrow <", value, "bookborrow");
            return (Criteria) this;
        }

        public Criteria andBookborrowLessThanOrEqualTo(Integer value) {
            addCriterion("bookBorrow <=", value, "bookborrow");
            return (Criteria) this;
        }

        public Criteria andBookborrowIn(List<Integer> values) {
            addCriterion("bookBorrow in", values, "bookborrow");
            return (Criteria) this;
        }

        public Criteria andBookborrowNotIn(List<Integer> values) {
            addCriterion("bookBorrow not in", values, "bookborrow");
            return (Criteria) this;
        }

        public Criteria andBookborrowBetween(Integer value1, Integer value2) {
            addCriterion("bookBorrow between", value1, value2, "bookborrow");
            return (Criteria) this;
        }

        public Criteria andBookborrowNotBetween(Integer value1, Integer value2) {
            addCriterion("bookBorrow not between", value1, value2, "bookborrow");
            return (Criteria) this;
        }
        
        public Criteria andBookownerIsNull() {
            addCriterion("bookOwner is null");
            return (Criteria) this;
        }

        public Criteria andBookownerIsNotNull() {
            addCriterion("bookOwner is not null");
            return (Criteria) this;
        }

        public Criteria andBookownerEqualTo(String value) {
            addCriterion("bookOwner =", value, "bookowner");
            return (Criteria) this;
        }

        public Criteria andBookownerNotEqualTo(String value) {
            addCriterion("bookOwner <>", value, "bookowner");
            return (Criteria) this;
        }

        public Criteria andBookownerGreaterThan(String value) {
            addCriterion("bookOwner >", value, "bookowner");
            return (Criteria) this;
        }

        public Criteria andBookownerGreaterThanOrEqualTo(String value) {
            addCriterion("bookOwner >=", value, "bookowner");
            return (Criteria) this;
        }

        public Criteria andBookownerLessThan(String value) {
            addCriterion("bookOwner <", value, "bookowner");
            return (Criteria) this;
        }

        public Criteria andBookownerLessThanOrEqualTo(String value) {
            addCriterion("bookOwner <=", value, "bookowner");
            return (Criteria) this;
        }

        public Criteria andBookownerLike(String value) {
            addCriterion("bookOwner like", value, "bookowner");
            return (Criteria) this;
        }

        public Criteria andBookownerNotLike(String value) {
            addCriterion("bookOwner not like", value, "bookowner");
            return (Criteria) this;
        }

        public Criteria andBookownerIn(List<String> values) {
            addCriterion("bookOwner in", values, "bookowner");
            return (Criteria) this;
        }

        public Criteria andBookownerNotIn(List<String> values) {
            addCriterion("bookOwner not in", values, "bookowner");
            return (Criteria) this;
        }

        public Criteria andBookownerBetween(String value1, String value2) {
            addCriterion("bookOwner between", value1, value2, "bookowner");
            return (Criteria) this;
        }

        public Criteria andBookownerNotBetween(String value1, String value2) {
            addCriterion("bookOwner not between", value1, value2, "bookowner");
            return (Criteria) this;
        }
        
        
        public Criteria andIsShowIsNull() {
            addCriterion("is_show is null");
            return (Criteria) this;
        }

        public Criteria andIsShowIsNotNull() {
            addCriterion("is_show is not null");
            return (Criteria) this;
        }

        public Criteria andIsShowEqualTo(String value) {
            addCriterion("is_show =", value, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowNotEqualTo(String value) {
            addCriterion("is_show <>", value, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowGreaterThan(String value) {
            addCriterion("is_show >", value, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowGreaterThanOrEqualTo(String value) {
            addCriterion("is_show >=", value, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowLessThan(String value) {
            addCriterion("is_show <", value, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowLessThanOrEqualTo(String value) {
            addCriterion("is_show <=", value, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowLike(String value) {
            addCriterion("is_show like", value, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowNotLike(String value) {
            addCriterion("is_show not like", value, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowIn(List<String> values) {
            addCriterion("is_show in", values, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowNotIn(List<String> values) {
            addCriterion("is_show not in", values, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowBetween(String value1, String value2) {
            addCriterion("is_show between", value1, value2, "isShow");
            return (Criteria) this;
        }

        public Criteria andIsShowNotBetween(String value1, String value2) {
            addCriterion("is_show not between", value1, value2, "isShow");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}